<?php
/**
 * Formulário padrão
 */
class App_Form_Produto extends Voitech_Form
{
	public function __construct($options=array())
	{
            parent::__construct($options);

            $this->setAttribs(array('name'=>'frmCadastroProduto', 'id'=>'frmCadastroProduto', 'class'=>'form last-child'));
		
		// add id element
            $this->addElement('hidden', 'co_produto');

            // remove id's decorators
            $this->getElement('co_produto')
                ->removeDecorator('DtDdWrapper')
                ->removeDecorator('HtmlTag')
                ->removeDecorator('Label');
		
            $noProduto = new Zend_Form_Element_Text( 'no_produto' );
            $noProduto->setLabel( 'Descrição:' )
                          ->setAttribs( array('size'=>'55') )
                          ->addFilter( new Zend_Filter_StringTrim() )
                          ->addValidator( new Zend_Validate_StringLength( array( 'min'=>'3', 'max'=>'255' ) ) )
                          ->setDecorators( $this->_decoratorDefault )
                          ->setRequired( true );
            $this->addElement( $noProduto );

//            $coTotalProduto = new Zend_Form_Element_Text( 'nu_total_produto' );
//            $coTotalProduto->setLabel( 'Estoque:' )
//                          ->setAttribs( array('size'=>'10') )
//                          ->addFilter( new Zend_Filter_StringTrim() )
//                          ->setDecorators( $this->_decoratorDefault )
//                          ->setRequired( true );
//            $this->addElement( $coTotalProduto );            
            
            $obCategoriaRepositorio = new App_Model_CategoriaRepository();
            $selectCategoria = new Zend_Form_Element_Select( 'co_categoria' );
            $selectCategoria->setLabel('Categoria:');
            $selectCategoria->setAttribs( array('class'=> 'last-child' ) );
            $selectCategoria->setDecorators( $this->_decoratorDefault );
            $selectCategoria->addMultiOptions( Voitech_Util::converteModeloArrayCombo($obCategoriaRepositorio->listarTodos(array('st_ativo'=>'S'))
                                        , 'CoCategoria', 'NoCategoria') );
            $selectCategoria->addFilters( array('StringTrim','StripTags') );
            $selectCategoria->setRequired(true);
            $this->addElement($selectCategoria);
            
            $obTipoProdutoRepositorio = new App_Model_TipoProdutoRepository();
            $selectTipo = new Zend_Form_Element_Select( 'co_tipo_produto' );
            $selectTipo->setLabel('Tipo:');
            $selectTipo->setAttribs( array('class'=> 'last-child' ) );
            $selectTipo->setDecorators( $this->_decoratorDefault );
            $selectTipo->addMultiOptions( Voitech_Util::converteModeloArrayCombo($obTipoProdutoRepositorio->listarTodos(array('st_ativo'=>'S'))
                                        , 'CoTipoProduto', 'NoTipoProduto') );
            $selectTipo->addFilters( array('StringTrim','StripTags') );
            $selectTipo->setRequired(true);
            $this->addElement($selectTipo);
            
            $buttonCancelar = new Zend_Form_Element_Button('Cancelar');
            $buttonCancelar->setAttribs( array('class'=> 'first-child last-child','style'=>'float:left;margin-top: 17px', 'id' => 'btnCancelar' ) )
                       ->removeDecorator( 'label' );
            $this->addElement( $buttonCancelar );

            $buttonCdst = new Zend_Form_Element_Button('Salvar');
            $buttonCdst->setAttribs( array('class'=> 'first-child last-child','style'=>'float:right; margin-top: 17px', 'id' => 'btnSalvar' ) )
                       ->removeDecorator( 'label' );

            $this->addElement( $buttonCdst );		
            $this->addDisplayGroup(array('no_produto','co_categoria','co_tipo_produto','Cancelar', 'Salvar'),'Cadastro',array('legend' => 'Formulario de cadastro de tipo de produto', 'class'=>'grey-bg first-child last-child fieldset-with-legend fieldset-with-legend-first-child'));
	}
}